package br.uece.laconi.tac;

import java.util.ArrayList;

import se.sics.tac.aw.TACAgent;
import se.sics.tac.util.ArgEnumerator;
import br.uece.laconi.tac.adapt.AdaptBehavior;
import br.uece.laconi.tac.strategy.FlightStrategy;
import br.uece.laconi.tac.strategy.HotelStrategy;

public class LaconiBot extends Agent {

	@Override
	protected void init(ArgEnumerator args) {
		effector = new AgentEffector(this);
		sensor = new AgentSensor(this);
		
		fs = new FlightStrategy(this);
		hs = new HotelStrategy(this);
		
		base = new BaseDeConhecimento();
		alocador = new Alocador(this);
		
		negociador = new ArrayList<Negociador>();
		for (int i = 0; i < 12; i++) {
			Negociador n = new Negociador(this);
			n.strategy.controllerType = sensor.getConfig("fuzzyController", "Mamdani").toUpperCase();
			negociador.add(n);
		}
		
		
		adapter = new AdaptBehavior(this);
	}
	
	// -------------------------------------------------------------------
	// Only for backward compability
	// -------------------------------------------------------------------

	public static void main(String[] args) {
		TACAgent.main(args);
	}
}
